/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufc.quixada.adrs.comandos.adrs;

import br.ufc.quixada.adrs.interfaces.Comando;
import br.ufc.quixada.adrs.model.Adrs;
import br.ufc.quixada.adrs.model.Produtor;
import br.ufc.quixada.adrs.model.Visita;
import br.ufc.quixada.adrs.service.ProdutorService;
import br.ufc.quixada.adrs.util.Msg;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Caio
 */
public class CmdListarVisitasDoProdutor implements Comando {

    public String executa(HttpServletRequest request, HttpServletResponse response) {
        HttpSession session = request.getSession();
        ProdutorService ps = new ProdutorService();
        Adrs adrs = (Adrs) session.getAttribute("user");
        Produtor produtor = ps.getProdutorById(Long.parseLong(request.getParameter("id")));

        if (produtor == null) {
            session.setAttribute("erro", Msg.PRODUTOR_NOT_FOUND);
            return "/adrs/index.jsp";
        }

        List<Visita> visitas = produtor.getVisitas();
        for (int i = 0; i < visitas.size(); i++) {
            Visita v = visitas.get(i);
            if (v.getAdrs().getId().compareTo(adrs.getId()) != 0) {
                visitas.remove(v);
                i--;
            }
        }
        session.setAttribute("produtor", produtor);
        session.setAttribute("visitas", visitas);
        return "/adrs/adrs_listar_visitas.jsp";
    }
}
